Model Driven Development

Marthin Satrya Pasaribu
2 min readMar 5, 2019
(http://www.theenterprisearchitect.eu/blog/2009/08/05/a-metaphor-for-model-driven-engineering)

Model driven development is one of methodology for software development that focuses on creating and exploiting domain models.
Imagine you’re a good contractor in your city, and someone want you to build a house for him. Actually, he just give you the land area and the type of home like how many rooms are there, need parking area etc.

So, you as the best contractor will start with draw from scratch the home. You will create the model of room , try to measure the size of room and adjust with the land area.

The problem is when you try to directly code your problem is you will never know the big picture of your current problem. The biggest problem is when you have a wrong decision in the middle of your project and you just realize it’s should be “something”? What will you do? Remove the project? or trying to remove one by one your code?

That’s why in Model Driven Development emphasize start with modeling the problem. MDD help programmer to create complex software.

Martin Fowler said about MDD:

Most fans of MDSD base their enthusiasm on the basis that models are ipso facto a higher level abstraction than programming languages. I don’t agree with that argument — sometimes graphical notations can be a better abstraction, but not always — it depends on the specific cases.

--

--